#name:logan.li
#use:v1.0  
#date:2025-03-16
#sudo docker build -t deepgox-go-admin:1.0 .
#sudo docker run --name deepgox-go-admin -p 9090:9090 -d --privileged=true --restart=always deepgox-go-admin:1.0

FROM golang:1.23
ENV GOPROXY=https://goproxy.cn,direct
ENV GO111MODULE="on"
#设置工作目录
WORKDIR /go/src/
RUN mkdir -p /go/src/admin-backend
COPY . /go/src/admin-backend
RUN cd /go/src/admin-backend \
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o  deepgox-go-admin .

FROM alpine:3.18
WORKDIR /root/
RUN mkdir -p /root/Settings
# 从编译阶段复制文件
# 这里使用了阶段索引值，第一个阶段从0开始，如果使用阶段别名则需要写成 COPY --from=build_stage /go/src/app/webserver /
COPY  --from=0 /go/src/admin-backend/deepgox-go-admin /root/
COPY  --from=0 /go/src/admin-backend/Settings/*.yaml /root/Settings/
RUN rm -rf /go/src/admin-backend/deepgox-go-admin
#暴露端口
EXPOSE 9090
#最终运行docker的命令 根据不同环境进行打包处理
ENTRYPOINT  ["/root/deepgox-go-admin -mode=dev"]